Fix fr resolution for referenced radial gradients - #1098
Merged
Conversation
When a `<radialGradient>` references another gradient via `href`, the `resolve_rg_attr` function was missing `AId::Fr` in its coordinate attribute match arm. This caused `fr` to silently fall back to 0 instead of being inherited from the base gradient, making radial gradients with focal radius render incorrectly after `href` resolution.
T1mVo
marked this pull request as ready for review
July 21, 2026 21:42
Open
1 task
wmedrano
approved these changes
Jul 21, 2026
renovate Bot
added a commit
to gwennlbh/shapemaker
that referenced
this pull request
Aug 9, 2026
##### [v0.48.0](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0480-2026-07-31) This release has an MSRV of 1.89.0 for `usvg` and `resvg` and the C API. The big change in this release is that text support is now backed by [`skrifa`](https://github.com/googlefonts/fontations) and [`harfrust`](https://github.com/harfbuzz/harfrust) rather than [`ttf-parser`](https://github.com/harfbuzz/ttf-parser) and [`rustybuzz`](https://github.com/harfbuzz/rustybuzz): - Moves resvg onto an actively maintained font stack. - Should have faster and more correct text rendering. - Will enable further improvements to things like variable font rendering in future. - May impact binary size (expected +\~500kb for people not otherwise including fontations dependencies in their tree). - May result in small rendering changes compared to older versions of resvg. ##### Added - New `svgz` and `writer` feature gates to reduce the number of required dependencies. ([#1088](linebender/resvg#1088) by [@reed-smout](https://github.com/reed-smout)) - Warnings when parsing malformed paths. ([#1011](linebender/resvg#1011)) - A `Display` implementation for `Units`. ([#986](linebender/resvg#986)) ##### Changed - MSRV bumped from 1.87 to 1.89. The requirement comes from `font-types`. - Text shaping now uses `harfrust` instead of `rustybuzz`, and font parsing uses `skrifa` (fontations) instead of `ttf-parser`. ([#922](linebender/resvg#922) by [@nicoburns](https://github.com/nicoburns)) - Filter input dimension checks are now debug-only assertions. ([#991](linebender/resvg#991)) ##### Fixed - Glyph advances are now calculated correctly. ([#1043](linebender/resvg#1043) by [@fundon](https://github.com/fundon)) - Text nodes now inherit their absolute transform. ([#1040](linebender/resvg#1040) by [@fundon](https://github.com/fundon)) - Fixes related to non-finite values. ([#1049](linebender/resvg#1049) by [@SAY-5](https://github.com/SAY-5)) - Transforms are no longer applied twice in `abs_transform`. ([#1056](linebender/resvg#1056) by [@fundon](https://github.com/fundon)) - `fr` is now resolved for radial gradients referenced via `href`. ([#1098](linebender/resvg#1098) by [@T1mVo](https://github.com/T1mVo)) - Panic in `feComposite` with the `arithmetic` operator when the filter region is larger than the clamped layer. ([#1021](linebender/resvg#1021), [#1007](linebender/resvg#1007)) - Application of `transform` (and other group properties like `opacity`) on a nested `svg` element. - The missing dimension of an `svg` with only `width` or `height` specified is now computed from its `viewBox` aspect ratio. ([#1045](linebender/resvg#1045)) - The `wght` variation coordinate is now set even when `font-weight` has its default value. ([#1099](linebender/resvg#1099)) - The unprefixed `href` attribute now takes precedence over the deprecated `xlink:href` when both are present, as required by SVG 2. ([#1015](linebender/resvg#1015)) - Incorrect y-axis offsets when transforming `feSpotLight` sources. ([#1052](linebender/resvg#1052)) - Panics caused by bounding boxes that exceed the supported integer range. ([#989](linebender/resvg#989)) ##### [v0.47.0](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0470-2026-02-05) This release has an MSRV of 1.87.0 for `usvg` and `resvg` and the C API. ##### Added - Focal radius (`fr`) supported for Radial Gradients. ([#1014](linebender/resvg#1014) by [@wmedrano](https://github.com/wmedrano)) - Support for variable fonts based on font-variation-settings CSS property. ([#997](linebender/resvg#997) by [@oetiker](https://github.com/oetiker)) ##### Changed - `tiny-skia` has a major version bump from 0.11 to 0.12.
renovate Bot
added a commit
to gwennlbh/vgvf
that referenced
this pull request
Aug 9, 2026
##### [v0.48.0](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0480-2026-07-31) This release has an MSRV of 1.89.0 for `usvg` and `resvg` and the C API. The big change in this release is that text support is now backed by [`skrifa`](https://github.com/googlefonts/fontations) and [`harfrust`](https://github.com/harfbuzz/harfrust) rather than [`ttf-parser`](https://github.com/harfbuzz/ttf-parser) and [`rustybuzz`](https://github.com/harfbuzz/rustybuzz): - Moves resvg onto an actively maintained font stack. - Should have faster and more correct text rendering. - Will enable further improvements to things like variable font rendering in future. - May impact binary size (expected +\~500kb for people not otherwise including fontations dependencies in their tree). - May result in small rendering changes compared to older versions of resvg. ##### Added - New `svgz` and `writer` feature gates to reduce the number of required dependencies. ([#1088](linebender/resvg#1088) by [@reed-smout](https://github.com/reed-smout)) - Warnings when parsing malformed paths. ([#1011](linebender/resvg#1011)) - A `Display` implementation for `Units`. ([#986](linebender/resvg#986)) ##### Changed - MSRV bumped from 1.87 to 1.89. The requirement comes from `font-types`. - Text shaping now uses `harfrust` instead of `rustybuzz`, and font parsing uses `skrifa` (fontations) instead of `ttf-parser`. ([#922](linebender/resvg#922) by [@nicoburns](https://github.com/nicoburns)) - Filter input dimension checks are now debug-only assertions. ([#991](linebender/resvg#991)) ##### Fixed - Glyph advances are now calculated correctly. ([#1043](linebender/resvg#1043) by [@fundon](https://github.com/fundon)) - Text nodes now inherit their absolute transform. ([#1040](linebender/resvg#1040) by [@fundon](https://github.com/fundon)) - Fixes related to non-finite values. ([#1049](linebender/resvg#1049) by [@SAY-5](https://github.com/SAY-5)) - Transforms are no longer applied twice in `abs_transform`. ([#1056](linebender/resvg#1056) by [@fundon](https://github.com/fundon)) - `fr` is now resolved for radial gradients referenced via `href`. ([#1098](linebender/resvg#1098) by [@T1mVo](https://github.com/T1mVo)) - Panic in `feComposite` with the `arithmetic` operator when the filter region is larger than the clamped layer. ([#1021](linebender/resvg#1021), [#1007](linebender/resvg#1007)) - Application of `transform` (and other group properties like `opacity`) on a nested `svg` element. - The missing dimension of an `svg` with only `width` or `height` specified is now computed from its `viewBox` aspect ratio. ([#1045](linebender/resvg#1045)) - The `wght` variation coordinate is now set even when `font-weight` has its default value. ([#1099](linebender/resvg#1099)) - The unprefixed `href` attribute now takes precedence over the deprecated `xlink:href` when both are present, as required by SVG 2. ([#1015](linebender/resvg#1015)) - Incorrect y-axis offsets when transforming `feSpotLight` sources. ([#1052](linebender/resvg#1052)) - Panics caused by bounding boxes that exceed the supported integer range. ([#989](linebender/resvg#989)) ##### [v0.47.0](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0470-2026-02-05) This release has an MSRV of 1.87.0 for `usvg` and `resvg` and the C API. ##### Added - Focal radius (`fr`) supported for Radial Gradients. ([#1014](linebender/resvg#1014) by [@wmedrano](https://github.com/wmedrano)) - Support for variable fonts based on font-variation-settings CSS property. ([#997](linebender/resvg#997) by [@oetiker](https://github.com/oetiker)) ##### Changed - `tiny-skia` has a major version bump from 0.11 to 0.12.
renovate Bot
added a commit
to gwennlbh/shapemaker
that referenced
this pull request
Aug 9, 2026
##### [v0.48.1](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0481-2026-08-02) This release has an MSRV of 1.85.0 for `usvg` and `resvg` and the C API. ##### Changed - MSRV lowered from 1.89 to 1.85. ([#1109](linebender/resvg#1109)) - Downgraded strict-num dependency to 0.1.1. This prevents duplicate versions from being included ([#1110](linebender/resvg#1110)) ##### Fixed - Fixed an `as_mut_slice` future-compatibility warning. ([#1108](linebender/resvg#1108)) ##### [v0.48.0](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0480-2026-07-31) This release has an MSRV of 1.89.0 for `usvg` and `resvg` and the C API. The big change in this release is that text support is now backed by [`skrifa`](https://github.com/googlefonts/fontations) and [`harfrust`](https://github.com/harfbuzz/harfrust) rather than [`ttf-parser`](https://github.com/harfbuzz/ttf-parser) and [`rustybuzz`](https://github.com/harfbuzz/rustybuzz): - Moves resvg onto an actively maintained font stack. - Should have faster and more correct text rendering. - Will enable further improvements to things like variable font rendering in future. - May impact binary size (expected +\~500kb for people not otherwise including fontations dependencies in their tree). - May result in small rendering changes compared to older versions of resvg. ##### Added - New `svgz` and `writer` feature gates to reduce the number of required dependencies. ([#1088](linebender/resvg#1088) by [@reed-smout](https://github.com/reed-smout)) - Warnings when parsing malformed paths. ([#1011](linebender/resvg#1011)) - A `Display` implementation for `Units`. ([#986](linebender/resvg#986)) ##### Changed - MSRV bumped from 1.87 to 1.89. The requirement comes from `font-types`. - Text shaping now uses `harfrust` instead of `rustybuzz`, and font parsing uses `skrifa` (fontations) instead of `ttf-parser`. ([#922](linebender/resvg#922) by [@nicoburns](https://github.com/nicoburns)) - Filter input dimension checks are now debug-only assertions. ([#991](linebender/resvg#991)) ##### Fixed - Glyph advances are now calculated correctly. ([#1043](linebender/resvg#1043) by [@fundon](https://github.com/fundon)) - Text nodes now inherit their absolute transform. ([#1040](linebender/resvg#1040) by [@fundon](https://github.com/fundon)) - Fixes related to non-finite values. ([#1049](linebender/resvg#1049) by [@SAY-5](https://github.com/SAY-5)) - Transforms are no longer applied twice in `abs_transform`. ([#1056](linebender/resvg#1056) by [@fundon](https://github.com/fundon)) - `fr` is now resolved for radial gradients referenced via `href`. ([#1098](linebender/resvg#1098) by [@T1mVo](https://github.com/T1mVo)) - Panic in `feComposite` with the `arithmetic` operator when the filter region is larger than the clamped layer. ([#1021](linebender/resvg#1021), [#1007](linebender/resvg#1007)) - Application of `transform` (and other group properties like `opacity`) on a nested `svg` element. - The missing dimension of an `svg` with only `width` or `height` specified is now computed from its `viewBox` aspect ratio. ([#1045](linebender/resvg#1045)) - The `wght` variation coordinate is now set even when `font-weight` has its default value. ([#1099](linebender/resvg#1099)) - The unprefixed `href` attribute now takes precedence over the deprecated `xlink:href` when both are present, as required by SVG 2. ([#1015](linebender/resvg#1015)) - Incorrect y-axis offsets when transforming `feSpotLight` sources. ([#1052](linebender/resvg#1052)) - Panics caused by bounding boxes that exceed the supported integer range. ([#989](linebender/resvg#989)) ##### [v0.47.0](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0470-2026-02-05) This release has an MSRV of 1.87.0 for `usvg` and `resvg` and the C API. ##### Added - Focal radius (`fr`) supported for Radial Gradients. ([#1014](linebender/resvg#1014) by [@wmedrano](https://github.com/wmedrano)) - Support for variable fonts based on font-variation-settings CSS property. ([#997](linebender/resvg#997) by [@oetiker](https://github.com/oetiker)) ##### Changed - `tiny-skia` has a major version bump from 0.11 to 0.12.
renovate Bot
added a commit
to gwennlbh/vgvf
that referenced
this pull request
Aug 9, 2026
##### [v0.48.1](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0481-2026-08-02) This release has an MSRV of 1.85.0 for `usvg` and `resvg` and the C API. ##### Changed - MSRV lowered from 1.89 to 1.85. ([#1109](linebender/resvg#1109)) - Downgraded strict-num dependency to 0.1.1. This prevents duplicate versions from being included ([#1110](linebender/resvg#1110)) ##### Fixed - Fixed an `as_mut_slice` future-compatibility warning. ([#1108](linebender/resvg#1108)) ##### [v0.48.0](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0480-2026-07-31) This release has an MSRV of 1.89.0 for `usvg` and `resvg` and the C API. The big change in this release is that text support is now backed by [`skrifa`](https://github.com/googlefonts/fontations) and [`harfrust`](https://github.com/harfbuzz/harfrust) rather than [`ttf-parser`](https://github.com/harfbuzz/ttf-parser) and [`rustybuzz`](https://github.com/harfbuzz/rustybuzz): - Moves resvg onto an actively maintained font stack. - Should have faster and more correct text rendering. - Will enable further improvements to things like variable font rendering in future. - May impact binary size (expected +\~500kb for people not otherwise including fontations dependencies in their tree). - May result in small rendering changes compared to older versions of resvg. ##### Added - New `svgz` and `writer` feature gates to reduce the number of required dependencies. ([#1088](linebender/resvg#1088) by [@reed-smout](https://github.com/reed-smout)) - Warnings when parsing malformed paths. ([#1011](linebender/resvg#1011)) - A `Display` implementation for `Units`. ([#986](linebender/resvg#986)) ##### Changed - MSRV bumped from 1.87 to 1.89. The requirement comes from `font-types`. - Text shaping now uses `harfrust` instead of `rustybuzz`, and font parsing uses `skrifa` (fontations) instead of `ttf-parser`. ([#922](linebender/resvg#922) by [@nicoburns](https://github.com/nicoburns)) - Filter input dimension checks are now debug-only assertions. ([#991](linebender/resvg#991)) ##### Fixed - Glyph advances are now calculated correctly. ([#1043](linebender/resvg#1043) by [@fundon](https://github.com/fundon)) - Text nodes now inherit their absolute transform. ([#1040](linebender/resvg#1040) by [@fundon](https://github.com/fundon)) - Fixes related to non-finite values. ([#1049](linebender/resvg#1049) by [@SAY-5](https://github.com/SAY-5)) - Transforms are no longer applied twice in `abs_transform`. ([#1056](linebender/resvg#1056) by [@fundon](https://github.com/fundon)) - `fr` is now resolved for radial gradients referenced via `href`. ([#1098](linebender/resvg#1098) by [@T1mVo](https://github.com/T1mVo)) - Panic in `feComposite` with the `arithmetic` operator when the filter region is larger than the clamped layer. ([#1021](linebender/resvg#1021), [#1007](linebender/resvg#1007)) - Application of `transform` (and other group properties like `opacity`) on a nested `svg` element. - The missing dimension of an `svg` with only `width` or `height` specified is now computed from its `viewBox` aspect ratio. ([#1045](linebender/resvg#1045)) - The `wght` variation coordinate is now set even when `font-weight` has its default value. ([#1099](linebender/resvg#1099)) - The unprefixed `href` attribute now takes precedence over the deprecated `xlink:href` when both are present, as required by SVG 2. ([#1015](linebender/resvg#1015)) - Incorrect y-axis offsets when transforming `feSpotLight` sources. ([#1052](linebender/resvg#1052)) - Panics caused by bounding boxes that exceed the supported integer range. ([#989](linebender/resvg#989)) ##### [v0.47.0](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0470-2026-02-05) This release has an MSRV of 1.87.0 for `usvg` and `resvg` and the C API. ##### Added - Focal radius (`fr`) supported for Radial Gradients. ([#1014](linebender/resvg#1014) by [@wmedrano](https://github.com/wmedrano)) - Support for variable fonts based on font-variation-settings CSS property. ([#997](linebender/resvg#997) by [@oetiker](https://github.com/oetiker)) ##### Changed - `tiny-skia` has a major version bump from 0.11 to 0.12.
Contributor
|
Could you add a test case? |
T1mVo
added a commit
to T1mVo/resvg
that referenced
this pull request
Aug 11, 2026
Contributor
Author
nicoburns
pushed a commit
that referenced
this pull request
Aug 13, 2026
renovate Bot
added a commit
to gwennlbh/shapemaker
that referenced
this pull request
Aug 26, 2026
##### [v0.48.1](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0481-2026-08-02) This release has an MSRV of 1.85.0 for `usvg` and `resvg` and the C API. ##### Changed - MSRV lowered from 1.89 to 1.85. ([#1109](linebender/resvg#1109)) - Downgraded strict-num dependency to 0.1.1. This prevents duplicate versions from being included ([#1110](linebender/resvg#1110)) ##### Fixed - Fixed an `as_mut_slice` future-compatibility warning. ([#1108](linebender/resvg#1108)) ##### [v0.48.0](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0480-2026-07-31) This release has an MSRV of 1.89.0 for `usvg` and `resvg` and the C API. The big change in this release is that text support is now backed by [`skrifa`](https://github.com/googlefonts/fontations) and [`harfrust`](https://github.com/harfbuzz/harfrust) rather than [`ttf-parser`](https://github.com/harfbuzz/ttf-parser) and [`rustybuzz`](https://github.com/harfbuzz/rustybuzz): - Moves resvg onto an actively maintained font stack. - Should have faster and more correct text rendering. - Will enable further improvements to things like variable font rendering in future. - May impact binary size (expected +\~500kb for people not otherwise including fontations dependencies in their tree). - May result in small rendering changes compared to older versions of resvg. ##### Added - New `svgz` and `writer` feature gates to reduce the number of required dependencies. ([#1088](linebender/resvg#1088) by [@reed-smout](https://github.com/reed-smout)) - Warnings when parsing malformed paths. ([#1011](linebender/resvg#1011)) - A `Display` implementation for `Units`. ([#986](linebender/resvg#986)) ##### Changed - MSRV bumped from 1.87 to 1.89. The requirement comes from `font-types`. - Text shaping now uses `harfrust` instead of `rustybuzz`, and font parsing uses `skrifa` (fontations) instead of `ttf-parser`. ([#922](linebender/resvg#922) by [@nicoburns](https://github.com/nicoburns)) - Filter input dimension checks are now debug-only assertions. ([#991](linebender/resvg#991)) ##### Fixed - Glyph advances are now calculated correctly. ([#1043](linebender/resvg#1043) by [@fundon](https://github.com/fundon)) - Text nodes now inherit their absolute transform. ([#1040](linebender/resvg#1040) by [@fundon](https://github.com/fundon)) - Fixes related to non-finite values. ([#1049](linebender/resvg#1049) by [@SAY-5](https://github.com/SAY-5)) - Transforms are no longer applied twice in `abs_transform`. ([#1056](linebender/resvg#1056) by [@fundon](https://github.com/fundon)) - `fr` is now resolved for radial gradients referenced via `href`. ([#1098](linebender/resvg#1098) by [@T1mVo](https://github.com/T1mVo)) - Panic in `feComposite` with the `arithmetic` operator when the filter region is larger than the clamped layer. ([#1021](linebender/resvg#1021), [#1007](linebender/resvg#1007)) - Application of `transform` (and other group properties like `opacity`) on a nested `svg` element. - The missing dimension of an `svg` with only `width` or `height` specified is now computed from its `viewBox` aspect ratio. ([#1045](linebender/resvg#1045)) - The `wght` variation coordinate is now set even when `font-weight` has its default value. ([#1099](linebender/resvg#1099)) - The unprefixed `href` attribute now takes precedence over the deprecated `xlink:href` when both are present, as required by SVG 2. ([#1015](linebender/resvg#1015)) - Incorrect y-axis offsets when transforming `feSpotLight` sources. ([#1052](linebender/resvg#1052)) - Panics caused by bounding boxes that exceed the supported integer range. ([#989](linebender/resvg#989)) ##### [v0.47.0](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0470-2026-02-05) This release has an MSRV of 1.87.0 for `usvg` and `resvg` and the C API. ##### Added - Focal radius (`fr`) supported for Radial Gradients. ([#1014](linebender/resvg#1014) by [@wmedrano](https://github.com/wmedrano)) - Support for variable fonts based on font-variation-settings CSS property. ([#997](linebender/resvg#997) by [@oetiker](https://github.com/oetiker)) ##### Changed - `tiny-skia` has a major version bump from 0.11 to 0.12.
renovate Bot
added a commit
to gwennlbh/vgvf
that referenced
this pull request
Aug 26, 2026
##### [v0.48.1](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0481-2026-08-02) This release has an MSRV of 1.85.0 for `usvg` and `resvg` and the C API. ##### Changed - MSRV lowered from 1.89 to 1.85. ([#1109](linebender/resvg#1109)) - Downgraded strict-num dependency to 0.1.1. This prevents duplicate versions from being included ([#1110](linebender/resvg#1110)) ##### Fixed - Fixed an `as_mut_slice` future-compatibility warning. ([#1108](linebender/resvg#1108)) ##### [v0.48.0](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0480-2026-07-31) This release has an MSRV of 1.89.0 for `usvg` and `resvg` and the C API. The big change in this release is that text support is now backed by [`skrifa`](https://github.com/googlefonts/fontations) and [`harfrust`](https://github.com/harfbuzz/harfrust) rather than [`ttf-parser`](https://github.com/harfbuzz/ttf-parser) and [`rustybuzz`](https://github.com/harfbuzz/rustybuzz): - Moves resvg onto an actively maintained font stack. - Should have faster and more correct text rendering. - Will enable further improvements to things like variable font rendering in future. - May impact binary size (expected +\~500kb for people not otherwise including fontations dependencies in their tree). - May result in small rendering changes compared to older versions of resvg. ##### Added - New `svgz` and `writer` feature gates to reduce the number of required dependencies. ([#1088](linebender/resvg#1088) by [@reed-smout](https://github.com/reed-smout)) - Warnings when parsing malformed paths. ([#1011](linebender/resvg#1011)) - A `Display` implementation for `Units`. ([#986](linebender/resvg#986)) ##### Changed - MSRV bumped from 1.87 to 1.89. The requirement comes from `font-types`. - Text shaping now uses `harfrust` instead of `rustybuzz`, and font parsing uses `skrifa` (fontations) instead of `ttf-parser`. ([#922](linebender/resvg#922) by [@nicoburns](https://github.com/nicoburns)) - Filter input dimension checks are now debug-only assertions. ([#991](linebender/resvg#991)) ##### Fixed - Glyph advances are now calculated correctly. ([#1043](linebender/resvg#1043) by [@fundon](https://github.com/fundon)) - Text nodes now inherit their absolute transform. ([#1040](linebender/resvg#1040) by [@fundon](https://github.com/fundon)) - Fixes related to non-finite values. ([#1049](linebender/resvg#1049) by [@SAY-5](https://github.com/SAY-5)) - Transforms are no longer applied twice in `abs_transform`. ([#1056](linebender/resvg#1056) by [@fundon](https://github.com/fundon)) - `fr` is now resolved for radial gradients referenced via `href`. ([#1098](linebender/resvg#1098) by [@T1mVo](https://github.com/T1mVo)) - Panic in `feComposite` with the `arithmetic` operator when the filter region is larger than the clamped layer. ([#1021](linebender/resvg#1021), [#1007](linebender/resvg#1007)) - Application of `transform` (and other group properties like `opacity`) on a nested `svg` element. - The missing dimension of an `svg` with only `width` or `height` specified is now computed from its `viewBox` aspect ratio. ([#1045](linebender/resvg#1045)) - The `wght` variation coordinate is now set even when `font-weight` has its default value. ([#1099](linebender/resvg#1099)) - The unprefixed `href` attribute now takes precedence over the deprecated `xlink:href` when both are present, as required by SVG 2. ([#1015](linebender/resvg#1015)) - Incorrect y-axis offsets when transforming `feSpotLight` sources. ([#1052](linebender/resvg#1052)) - Panics caused by bounding boxes that exceed the supported integer range. ([#989](linebender/resvg#989)) ##### [v0.47.0](https://github.com/linebender/resvg/blob/HEAD/CHANGELOG.md#0470-2026-02-05) This release has an MSRV of 1.87.0 for `usvg` and `resvg` and the C API. ##### Added - Focal radius (`fr`) supported for Radial Gradients. ([#1014](linebender/resvg#1014) by [@wmedrano](https://github.com/wmedrano)) - Support for variable fonts based on font-variation-settings CSS property. ([#997](linebender/resvg#997) by [@oetiker](https://github.com/oetiker)) ##### Changed - `tiny-skia` has a major version bump from 0.11 to 0.12.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
resolve_rg_attrfunction resolves gradient attributes viahreflinks, but was missingAId::Frfrom the coordinate attribute match arm. WhileCx,Cy,R,Fx, andFywere all handled,Frwas overlooked.When a radial gradient references another via
href, thefrattribute on the base gradient was never resolved, silently falling back to 0. This caused the focal radius to be ignored, making the gradient render as iffr="0"regardless of the actual value.Example
The
fr="0.4"on the base gradient was ignored.